import { HomeOutlined, BookOutlined, } from '@ant-design/icons'
export const MenuData = [
  {
    key: 'certificate-management',
    label: '证书管理',
    icon: <BookOutlined />,
    level: [1,],
    children: [
      { key: '/certificate', label: '证书列表', level: [1] },
    ]
  },
  {
    key: 'coach-management',
    label: '教练管理',
    icon: <HomeOutlined />,
    level: [1, 2],
    children: [
      { key: '/coach', label: '教练信息', level: [1, 2] },
      { key: '/coach/certificate', label: '教练证书', level: [1, 2] },
    ]
  },
  {
    key: 'student-management',
    label: '学员管理',
    icon: <HomeOutlined />,
    level: [1, 2],
    children: [
      { key: '/student', label: '学员列表', level: [1, 2] },
      { key: '/student/certificate', label: '学员证书', level: [1, 2] },
      { key: '/class', label: '班级管理', level: [1, 2] },
      { key: '/batch/certificate', label: '认证批次', level: [1, 2] },
      { key: '/certificate/approval', label: '证书审核', level: [1] },
    ]
  },
]

// 这是一个用于根据用户等级过滤菜单的辅助函数
// 请注意，这里我们是在MenuData.js中定义它，方便SideMenu组件导入和使用
export const filterMenuItemsByLevel = (menuItems, userLevel) => {
  return menuItems.filter(item => {
    // 检查当前菜单项是否有权限被当前用户等级访问
    const hasPermission = item.level && item.level.includes(userLevel);

    // 如果有子菜单，则递归过滤子菜单
    if (item.children) {
      item.children = filterMenuItemsByLevel(item.children, userLevel);
      // 如果父菜单本身没有权限，但其子菜单有可见项，则父菜单也应可见（但不可点击，通常只展开）
      // 或者：如果父菜单本身没有权限，且所有子菜单都不可见，则隐藏父菜单。
      // 这里我们选择：只要有权限或者有可见子菜单，就显示。
      return hasPermission || item.children.length > 0;
    }
    return hasPermission;
  });
};